#pragma once
#include "stdafx.h"
#include "IStreamInput.h"
#include "IStreamOutput.h"
#include <boost/shared_ptr.hpp>
class QueryManager
{
private:
	static QueryManager*  queryManager; 
	QueryManager(void);
	std::map<std::string, boost::shared_ptr<IStreamInput> >streamInputMap;
	boost::shared_ptr<IStreamOutput> streamOutput;
public:
	static QueryManager* getInstance();
	~QueryManager(void);
	void addStreamInput(boost::shared_ptr<IStreamInput> streamInput);
	void addStreamOutput(boost::shared_ptr<IStreamOutput> streamOutput);
	boost::shared_ptr<IStreamInput>  getStreamInputById(std::string id);//get the registered streaminput by id
	boost::shared_ptr<IStreamOutput>  getStreamOutput();
};

